ARP-Scan
/etc/hosts
Nmap wurde verwendet, um offene Ports und laufende Dienste auf dem Zielsystem zu identifizieren. Port 22 (SSH) und Port 80 (HTTP) sind offen. Apache httpd 2.4.25 läuft auf Port 80. Der Header `http-generator: Drupal 8` deutet auf eine Drupal 8-Installation hin.
Empfehlung:
Die Apache-Version 2.4.25 ist veraltet und anfällig für verschiedene Sicherheitslücken. Ein Update auf eine aktuelle Version wird dringend empfohlen. Die Drupal-Installation sollte ebenfalls auf dem neuesten Stand gehalten werden.
Nikto hat das Ziel auf bekannte Schwachstellen untersucht. Es wurde bestätigt, dass es sich um eine Drupal 8-Installation handelt. Es wurden verschiedene Dateien gefunden, die Informationen über das System liefern könnten, darunter `robots.txt`, `web.config`, `INSTALL.txt`, `LICENSE.txt` und `core/CHANGELOG.txt`.
Empfehlung:
Die gefundenen Dateien sollten manuell überprüft werden, um weitere Informationen über das System zu erhalten. Die Drupal-Installation sollte auf dem neuesten Stand gehalten werden.
Gobuster wurde verwendet, um versteckte Dateien und Verzeichnisse auf dem Webserver zu finden. Die Ergebnisse bestätigen die Drupal-Installation und liefern weitere Informationen über die Struktur der Website.
Ein Exploit für Drupal wurde gefunden (https://www.exploit-db.com/exploits/46459).
Das Exploit-Skript `drupal8exploit.py` wurde verwendet, um die Drupal 8-Installation auf eine Remote Code Execution (RCE)-Schwachstelle (CVE-2019-6340) zu überprüfen. Die Ergebnisse deuten darauf hin, dass das Zielsystem möglicherweise nicht anfällig für diesen Exploit ist oder dass ein Caching-Problem vorliegt.
Feroxbuster wurde verwendet, um weitere Dateien und Verzeichnisse auf dem Webserver zu finden. Die Ergebnisse liefern weitere Informationen über die Struktur der Website.
Die Datei `core/install.php` zeigt, dass Drupal bereits installiert ist und die Version 8.7.6 verwendet wird.
Auf GitHub wurde ein Benutzer (`Dc7User`) gefunden, der möglicherweise mit dem Zielsystem in Verbindung steht. In der Datei `/config.php` wurden die Anmeldeinformationen für die MySQL-Datenbank gefunden. Der Benutzername ist `dc7user` und das Passwort ist `MdR3xgB7#dW`.
Mit den gefundenen Anmeldeinformationen wurde erfolgreich eine SSH-Verbindung zum Benutzer `dc7user` hergestellt.
Hydra wurde verwendet, um die SSH-Verbindung zu knacken. Das Passwort `MdR3xgB7#dW` wurde gefunden.
Der Befehl `find / -type f -perm -4000 -ls 2>/dev/null` sucht nach Dateien mit dem gesetzten SUID-Bit.
In der Datei `/var/mail/dc7user` wurden Informationen über Cron-Jobs gefunden, die das Skript `/opt/scripts/backups.sh` ausführen.
Der Benutzer `dc77user` hat keine Berechtigungen, um die Datei `/opt/scripts/backups.sh` zu ändern.
Das Passwort für den Drupal-Benutzer `admin` wurde erfolgreich auf `bennihacker` geändert.
Durch Aktivierung des PHP-Filters und Ausnutzung der RCE-Schwachstelle konnte eine Reverse Shell als Benutzer `www-data` gestartet werden.
Es wurde versucht, die Terminaleinstellungen anzupassen und das Verzeichnis `/opt/scripts/` zu wechseln.
Dem Skript `/opt/scripts/backups.sh` wurde die Zeile `benntestet` hinzugefügt.
Dieser Proof of Concept demonstriert, wie die vorhandenen Cronjobs und die Möglichkeit, Dateien zu bearbeiten, genutzt werden können, um eine Reverse Shell als Root zu erhalten.
Nach erfolgreicher Ausführung des Cronjobs sollte eine Root-Shell auf dem Angreifer-System gestartet werden.
Die Ausgabe des `id`-Befehls zeigt, dass die Shell als Root ausgeführt wird.
Die Möglichkeit, Cronjobs zu manipulieren, stellt ein erhebliches Sicherheitsrisiko dar, da es einem Angreifer ermöglicht, beliebigen Code als Root auszuführen.
888 888 888 888 8888888b. 888 888 888 888 888 o 888 888 888 888 "Y88b 888 888 888 888 888 d8b 888 888 888 888 888 888 888 888 888 888 d888b 888 .d88b. 888 888 888 888 .d88b. 88888b. .d88b. 888 888 888 888 888d88888b888 d8P Y8b 888 888 888 888 d88""88b 888 "88b d8P Y8b 888 888 888 888 88888P Y88888 88888888 888 888 888 888 888 888 888 888 88888888 Y8P Y8P Y8P Y8P 8888P Y8888 Y8b. 888 888 888 .d88P Y88..88P 888 888 Y8b. " " " " 888P Y888 "Y8888 888 888 8888888P" "Y88P" 888 888 "Y8888 888 888 888 888 Congratulations!!! Hope you enjoyed DC-7. Just wanted to send a big thanks out there to all those who have provided feedback, and all those who have taken the time to complete these little challenges. I'm sending out an especially big thanks to: @4nqr34z @D4mianWayne @0xmzfr @theart42 If you enjoyed this CTF, send me a tweet via @DCAU7.
Der ARP-Scan zeigt die IP-Adresse und die MAC-Adresse des Zielsystems sowie den Hersteller der Netzwerkkarte. Der Eintrag in der /etc/hosts-Datei ermöglicht die Verwendung des Hostnamens `dc7.vln` anstelle der IP-Adresse. Dies erleichtert die weitere Bearbeitung.